CPU based appliances, such as routers, are usually remotely software-upgradeable with the software image residing in some form of non-volatile memory, such as flash memory. Updating the software image involves downloading a new image to the appliance and replacing the existing image with the new image.
To overcome a problem of a power failure or other failure during the downloading or flash update process, a double-image approach may be used. However, if the loaded image cannot successfully load or connect to other systems (e.g., a management system), for any reason (e.g., hardware incompatibility, network incompatibility, defective image), it is necessary to manually access the appliance and reload a workable image or downgrade the software. However, such an upgrade scheme is problematic especially in installations where there are numerous such appliances or the upgrade process is done remotely. New systems and methods are required for initializing and updating the boot images of systems.